package cn.iocoder.yudao.module.trade.scan.mq;

import cn.hutool.extra.spring.SpringUtil;
import cn.iocoder.yudao.module.api.trade.scan.dto.ScanOrderDTO;
import cn.iocoder.yudao.module.api.trade.scan.message.ScanOrderPaidMessage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 扫码订单 事件生产者
 *
 * @author 山野羡民
 */
@Slf4j
@Component
public class ScanOrderProducer {

    /**
     * 发送 {@link ScanOrderPaidMessage} 消息
     *
     * @param order 交易订单信息
     */
    public void sendScanOrderPaidMessage(ScanOrderDTO order) {
        log.info("[sendScanOrderPaidMessage] tradeNo={}", order.getTradeNo());
        SpringUtil.getApplicationContext().publishEvent(new ScanOrderPaidMessage(order));
    }

}
